#ifndef CWDS_H
#define CWDS_H
#include <QString>
#include <QTextCodec>

#include "cwhs.h"
#include "aos.h"
#include "cglwindow.h"


struct DESKTOPHEADER // ЗАГОЛОВОК ФАЙЛА WDS
{
  char  wLabel[2]; // Метка формата файла 'SW'
  short iVersion; // Версия файла
};

class CWds
{
public:
    CWds();
    ~CWds();

public:
    void Show(QPainter* p) {
        for(int i = 0; i < whs.size(); i++)  {
            p->translate(QPoint(whs.at(i)->x, whs.at(i)->y));
            p->setPen(Qt::NoPen);
            p->setBrush(whs.at(i)->fon);
            p->drawRect(0, 0, whs.at(i)->cx, whs.at(i)->cy);
//            whs.at(i)->Show(p, whs.at(i)->iView, whs.at(i)->hlight);
            whs.at(i)->showWhs(p);
            p->translate(QPoint(-whs.at(i)->x, -whs.at(i)->y));
        }
    }
    bool loadWds(QString FileName);
    bool dumpWds();
    void showButtons(QWidget *parent);
    int checkWhs(QPoint p);

//    QString SetLine(char* sPrm) {
//        QByteArray text1251(sPrm);
//        QTextCodec* codec1251 = QTextCodec::codecForName("Windows-1251");
//        return codec1251->toUnicode(text1251);
//    }

public:
    QVector<CWhs*> whs;  // Указатель на первый Whs
    QVector<QPushButton*> but;
    QVector<CGlWindow*> ogl;
    DESKTOPHEADER header;
    DESK_GENSH2 gensh;

    short wCounter; // Количество элементов (Whs)
    short wSizesh; //Размер элемента внешний
    short wIncrease; // Размер приращения при вставке?
    char* Array;
    unsigned int Rte;
    RTEHEADER hRte; // RTE_master
    QStringList RunStr;
    char* ArrayRat;
    char* ArrayMat;
    char* ArrayAat;
};

#endif // CWDS_H
